//引入发送请求文件函数 
import { reqCategoryList, reqGetBannerList, reqGetFloorList } from '@/api'
//home模块的小仓库
const state = {
  //home仓库中存储三级菜单的数据
  categoryList: [],
  //存储请求获得的轮播图的数据 
  bannerList:[],
  floorList:[]
};

const mutations = {
//将请求的数据（actions）中获取的数据赋值给state
  CATEGORYLIST(state, categoryList) {
    state.categoryList = categoryList
  },
  
  GETBANNERLIST(state, bannerList) {
    state.bannerList = bannerList
  },

  GETFLOORLIST(state,floorList){
    state.floorList=floorList
  }

};

// 内部发送的请求 返回的是一个promise实列 （async + await）
const actions = {
  //通过API里面的接口函数调用，向服务器发请求，获取服务器的数据 

  //获取TapyNav组件数据
  async categoryList({ commit }){
    let result = await reqCategoryList();

    // 请求成功，提交获取数据
    if (result.code == 200) {
    //提交到mutation 
      commit('CATEGORYLIST', result.data);

    }
  },
  //获取请求到的首页轮播图组件数据
  async getBannerList({ commit }){
    // 发送请求获得的数据
    let result = await reqGetBannerList()

    if (result.code == 200) {
      commit('GETBANNERLIST', result.data)
    }
  },

  //获取请求到的floor组件数据
  async getFloorList({ commit }){
    let result=await reqGetFloorList();
    if(result.code==200){
  commit('GETFLOORLIST',result.data)  
    }    
  }
};
const getters = {};

// 数据模块暴露
export default {
  state,
  mutations,
  actions,
  getters
}